# Python 教程 树莓派

## 树莓派的准备

在开始构建项目之前，你需要首先做一些准备，这是非常重要的，你不能跳过。

### 一、关于树莓派：

树莓派是一台卡片电脑，它的官方系统是Raspberry Pi OS，也可以给树莓派安装其它系统，例如：ubuntu，Windows IoT。

可以使用树莓派来做一个个人服务器，路由器，接上摄像头就可以做摄像头监控，摄像头识别，接上麦克风方阵和喇叭就可以做语音交互助手等等。

还有区别于普通电脑的是，树莓派引出了40Pin的针脚可以接各种传感器和控制LED、马达等。这就可以用树莓派来制作机器人了。

### 二、树莓派安装Raspberry Pi OS系统： 

#### （一）准备好需要用到的硬件和软件工具： 

1.所需的硬件：

（1）树莓派4B/3B/2B （2）16G以上的TFT内存卡
（3）读卡器 （4）常用的电脑及配件

2.需要在常用电脑上安装的软件工具：

Windows用户：

（1）先安装putty

下载链接：[<u>https://www.chiark.greenend.org.uk/~sgtatham/putty/</u>](https://www.chiark.greenend.org.uk/~sgtatham/putty/)

![](media/0b987fc9aa6c00fba748ac08b6a122d8.png)

![](media/b7d65e6d1f1012a50e943f8ba8437e6f.png)

1.  下载好了putty驱动文件![](media/e597704d7033c7c3c5da06d4f561822c.png)后，鼠标左键双击putty驱动文件，再点击“Next”。

![](media/01f1b2d98915be2be9c0c2a3d330dde2.png)

2.  点击“Next”。

![](media/2d758db164806a07e91c4d009a062deb.png)

3.  选中“Install Putty files”后，再点击“Install”。

![](media/071a0acc98bb2dc5cd45d85dec72d111.png)

4.  几秒钟之后，安装就完成了，点击“Finish”就可以了。

![](media/5fa5e1f650e9d789466697572a522053.png)

（2）SSH远程登录软件 WinSCP

下载链接：[<u>https://winscp.net/eng/download.php</u>](https://winscp.net/eng/download.php)

a.下载好WinSCP软件文件![](media/1719daa1002d7477ad4700e1df85d2df.png)后，鼠标左键双击WinSCP软件文件![](media/1719daa1002d7477ad4700e1df85d2df.png)，再左键点击![](media/6b657521afe648413ce9961a2852bc29.png)。

![](media/5ee80ade909fe3eb73dc9535704b4c0b.png)

b\. 点击“Accept”，然后选中对应的选项且点击“Next”，再点击“Install”。

![](media/845d8b3e032ad171e83b7e2935b9cf5d.png)

![](media/f0eb9da0b74a6df390ca274fdbf23c7e.png)

![](media/ddae231e8b65d158e99d4d822daa8cf9.png)

![](media/7071bab714eacb2c2ed030d40a59298a.png)

c\. 几秒钟之后，安装就完成了，点击“Finish”就可以了。

![](media/d3b05da1544078d828be16a6d23896a3.png)

（3）格式化TFT卡工具 SD Card Formatter

下载链接：

[<u>http://www.canadiancontent.net/tech/download/SD_Card_Formatter.html</u>](http://www.canadiancontent.net/tech/download/SD_Card_Formatter.html)

![](media/6b9d3274a4ceca99e166833c69a3ce69.png)

![](media/182267a9b608c755a1afe3943896597c.png)

1.  将下载好的SDCardFormatterv5_WinEN压缩包解压，鼠标左键双击SD Card     Formatter文件![](media/8c6f8da97bf702080a8e302db2e9f982.png)，运行此文件。

![](media/046c67e4072093ee3dad27e8088fcf9f.png)

2.  点击“Next”，再选择“![](media/9ff501f642302db03af32773b413b138.png)”并点击“Next”。

![](media/384203e0b54ddfe37f18b65f70e786e5.png)

![](media/459ebcae8a6983ab05ba65da8b8c19e1.png)

3.  又点击“Next”，然后再点击“Install”。

![](media/0af58ee3afb14005a884ca2dc941157f.png)

![](media/807623ddeea20c8b61503845d8aec9bc.png)

d\. 几秒钟之后，安装就完成了，点击“Finish”就可以了。

![](media/933b5bc3b70aaf65c73fc7955be4c45d.png)

（4）烧录镜像系统软件工具 Win32DiskImager

下载链接：[<u>https://sourceforge.net/projects/win32diskimager/</u>](https://sourceforge.net/projects/win32diskimager/)

![](media/1529dcac818d87aa88ec9ce31b15af16.png)

1.  下载好Win32DiskImager软件文件![](media/63c3eaf215c92c325f95613c9d8d49ce.png)之后，鼠标左键双击Win32DiskImager软件文件![](media/63c3eaf215c92c325f95613c9d8d49ce.png)，然后点击“Run”。

![](media/e4a765267ab533c92d15f269da693406.png)

2.  选择![](media/4d176303b17cb418825416767ca238cf.png)之后，再点击“Next”。

![](media/fad5260420e5eb590499707941273801.png)

3.  点击“Browse...”，选择Win32DiskImager文件安装的位置，再点击“Next”。

![](media/11eb650c3cde7816953b3a3ca4756ee0.png)

4.  点击“Browse...”选择Win32DiskImager文件安装的位置，再点击“Next”。

![](media/cc7949bb335b75000e77b18c85e4e07b.png)

5.  选中![](media/99d088dd3f9e62d94fe8d56bd4638d1d.png)后再点击“Next”，然后又点击“Install”。

![](media/86dcbc0ca91e818875f911223eb1f333.png)

![](media/c78a37e1aee3a774363cd1b8873f35ce.png)

d\. 几秒钟之后，安装就完成了，点击“Finish”就可以了。

![](media/1e645733138813fe3436efd62ccf8f9a.png)

（5）扫描查找ip地址软件工具WNetWatcher

下载链接：http://www.nirsoft.net/utils/wnetwatcher.zip

树莓派的镜像系统

最新版本系统下载链接：[<u>https://www.raspberrypi.org/downloads/raspberry-pi-os/</u>](https://www.raspberrypi.org/downloads/raspberry-pi-os/)

旧版本系统下载链接：

- Raspbian：[<u>https://downloads.raspberrypi.org/raspbian/images/</u>](https://downloads.raspberrypi.org/raspbian/images/)

- Raspbian   full：[<u>https://downloads.raspberrypi.org/raspbian_full/images/</u>](https://downloads.raspberrypi.org/raspbian_full/images/)

- Raspbian   lite：<https://downloads.raspberrypi.org/raspbian_lite/images/>

本教程使用2020.05.28版本系统：（由于树莓派官方版本升级，可能导致部分系统功能与此教程使用有些冲突，所以我们这里推荐使用本教程版本）

2020.05.28版本系统下载链接：

<https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-05-28/>

![](media/889a286d20a5f4e86dc02be452af766f.png)

#### （二）给树莓派4B安装Raspberry Pi OS系统 

1.TFT内存卡插到读卡器上，读卡器插到电脑的USB端口

2.使用SD Card Formatter软件工具将TFT内存卡格式化，如下图所示：

![](media/9758c60e79e32b46d7b63ec02a0ceb40.png)

![](media/cbc55902de71ce984d873ca2cb67fffa.png)

![](media/82031b5354cc4edeccf2bfa7465b7c6c.png)

3.烧录系统：

（1）使用Win32DiskImager 软件，将树莓派官方的系统（Raspberry Pi OS）镜像烧录到TFT内存卡上。

![](media/80d236cae8bdf63d80dc65048ffb52b3.png)

![](media/243d1ef34211eafe1a92b67fc0ee85a2.png)

![](media/562763502eeea54003b1bb48116a24ae.png)

（2）镜像系统烧录完成后，先不要把读卡器拔出，使用记事本新建一个文件命名为SSH，把.txt删掉，然后复制到TFT卡的boot目录下，这样就可以打开SSH登录功能了，如下图所示：

![](media/4082189e2a235584f1974b93c4414009.png)

（3）拔出读卡器。

4.登录系统（以下操作要求raspberry与PC电脑在同一局域网内）

（1）将烧录好的TFT内存卡插到树莓派，接好网线，接好电源并打开电源。

如果有屏幕和树莓派的HDMI线，连接好屏幕，就可以看到Raspberry Pi OS系统的开机画面了。

如果没有树莓派的HDMI线，也没事，可以使用软件WinSCP来进行SSH远程登录，也可以使用xrdp登录树莓派系统的桌面。

（2）远程登录

使用WinSCP，通过树莓派系统的默认名称、默认用户名、默认密码，来登录。注意这就要求同一个网络里只能接入一个树莓派。

![](media/01552b7d0a0b6e455de43004d82f9133.png)

![](media/34712265a8e600bcb15cb655b58d0ff9.png)

（3）查看ip地址和mac地址

![](media/0bf62a06c971676b98805eb1615a9dfe.png)

点击打开终端之后，还需要再次输入密码：raspberry ，再按下键盘 Enter 。

![](media/9a5a92b3021e4659d69749dcfe892b2e.png)

![](media/c99fe07fa6475b0422541f78b306b619.png)

登录成功后，打开终端，输入ip a 后再按下键盘
Enter就可以查看ip和mac地址

![](media/84725a6ba5643e81f9cb6694c7d2da05.png)

从上图圈出来的可以看出，我这块树莓派的mac地址为：a6:32:17:61:9c，ip地址为：192.168.1.128，后面使用xrdp远程登录树莓派系统桌面时使用到ip地址。

mac地址是不会变的，当不确定哪个ip时，可以通过mac地址来确认。

（4）固定树莓派的ip地址

由于ip地址是会变动的，第二天很可能ip地址就不一样了，就需要再次查看ip地址，所以为了更方便使用，需要固定树莓派的ip地址。

操作步骤如下：

切换到root用户

如果还没设置root的用户密码

①设置root密码

终端里输入：sudo passwd root

接着设置密码就可以了

②然后切换到root用户

su root

③固定ip地址的配置文件

先改好下面配置文件的ip

（#更改的ip地址：address 192.168.1.99）

然后将修改好ip的配置文件复制粘贴到终端，回车，就配置好了。

配置文件：

echo -e '

auto eth0

iface eth0 inet static

\#Change IP address

address 192.168.1.99

netmask 255.255.255.0

gateway 192.168.1.1

network 192.168.1.0

broadcast 192.168.1.255

dns-domain 119.29.29.29

dns-nameservers 119.29.29.29

metric 0

mtu 1492

'\>/etc/network/interfaces.d/eth0

操作示例图，如下：

![](media/906f0f36354e7fa62a57a1857ef5dc7a.png)

④重启系统，使配置文件生效

终端输入重启命令：sudo reboot

这之后就可以使用树莓派的固定ip来登录了。

⑤再次查看ip，确保已经固定好ip地址

![](media/8960aeeca9f3ee6cfeb3aeefa232ab2e.png)

（5）无线登录树莓派系统的桌面

如果我们没有连接显示屏的HDMI高清线，能不能在windows桌面上无线登录树莓派系统的桌面呢？是可以的，方法还挺多，目前比较常用的是使用VNC和Xrdp。

现在就教使用Xrdp在windows桌面上无线登录树莓派系统的桌面

①在终端里安装Xrdp服务

安装命令：

切换到root用户 ：su root

安装命令 ：apt-get install xrdp

根据提示，输入y ，再回车就行。

操作图如下：

![](media/156aa2e17bb9fea399b0ac16f6013c8b.png)

②打开Windows的远程桌面连接

按下键盘 WIN+R 然后输入：mstsc.exe

操作图如下：

![](media/96b8a143802b9521017ea45116214e88.png)

接着输入树莓派的ip地址，如下图，点击“Connect”后再次点击“Connect”。

192.168.1.99是我上面固定树莓派ip地址的步骤里固定的ip，改为你的树莓派ip就好了。

![](media/6c8660280510468717644fd21827b3d1.png)![](media/c41c66bea61b30019e02a74b483af700.png)

接着会出现个提示，点击 “Yes”就行了。

![](media/297813f1370ce5c158fac61511f61295.png)

接着输入用户名：pi ，默认密码：raspberry，如下图所示：

![](media/86462c40f750e350fecf2255d188af61.png)

点击OK或者 Enter键，就会出现树莓派系统Raspberry Pi OS的桌面了，如下图所示：

![](media/56bd5693edd484c4433dc438b58c6130.png)

到这里为止，完成了树莓派系统Raspberry Pi OS的基本配置。

#### （三）Python控制基础硬件的准备 

python是一门生态非常强大的解释型脚本语言，在人工智能、深度学习、机械学习、爬虫等领域都有丰富的库和资料，运用的很广泛，语法简洁明了，值得我们去学习。

1.树莓派基本配件说明：

树莓派4B：

下面是本学习套件支持的树莓派图片和模型图片，有40个针脚。








|树莓派4B实用图片|树莓派4B模型图片|
|-|-|
|![](media/906942071bae7f818bf39db600c7eca2.png)|![](media/67ac8e458430628f26cef46f04be3979.png)|



硬件接口如下图：

![](media/a2c890e2903391189747620de4ba60ce.png)

2.复制示例代码文件夹到树莓派系统文件下：

先把我们已经编写好的示例代码存放到树莓派系统的pi用户文件目录下，只要将我们提供的代码2.
项目课程.zip文件压缩包（默认是ZIP文件）复制粘贴到pi用户下再解压就可以了，如下图操作：

![](media/1b556e9c510df4ce0f5d5cccc12a3d0e.png)
![](media/c70332b02516fc14aff6666359854511.png)
![](media/18de4f00e95aecb4d7b6b1e958a20dfe.png)

鼠标左键双击2. 项目课程文件夹就可以看到我们编写好的.py文件了。

![](media/444e9baa51140f381e3c4d0e76f538ad.png)

### 三、Python准备： 

1.  更新Micropython固件（重要）

要在树莓派Pico板上运行MicroPython程序，需要先烧入一个固件到树莓派Pico板中。

（1）为什么我们需要更新固件

树莓派Pico可以用C语言和MicroPython语言编程，并且树莓派Pico板出厂时没有MicroPython固件，使用MicroPython编程之前需要下载MicroPython固件。

注意：MicroPython固件只需要下载一次，当使用MicroPython编程时不需要再次下载。如果你已经下载了用C语言编写的 .uf2
程序固件，则MicroPython固件将会被覆盖，那下次你使用MicroPython时，你需要按照以下步骤更新树莓派Pico板的固件。

（2）下载Micropython固件

方法1：点击![](media/e1e5a14737d3f99726202e22e731d506.png)打开浏览器，进入树莓派Pico的官网：[<u>https://www.raspberrypi.com/documentation/microcontrollers/</u>](https://www.raspberrypi.com/documentation/microcontrollers/)

1.  单击上面的链接，你可以看到以下界面：

![](media/6e018e1b1bbfb884f6de8db5b4e5f7d4.png)

2.  滚动鼠标，你又可以看到以下内容：

![](media/5d04d67506852588d126ce760739a3c5.png)

3.  单击“MicroPython(Getting started     MicroPython)”进入固件下载页面。

![](media/e8d9658a60f750a654bd2d7a98fe3bb5.png)

方法2：点击![](media/e1e5a14737d3f99726202e22e731d506.png)打开浏览器，通过单击下载链接：[<u>https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2</u>](https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2)
，可以直接下载固件。

提醒：将下载好的固件文件（rp2-pico-20210902-v1.17.uf2）转移到树莓派镜像系统桌面上。

（3）烧入MicroPython固件的步骤

①连接microUSB线一端到你的树莓派USB口。

②长按“树莓派Pico板”上的白色按钮（BOOTSEL）。然后，通过microUSB线另一端将树莓派Pico板与树莓派连接。

![](media/33c91d51b2aeb2c943691706354aaad1.png)

③松开按钮，当连接成功时，你的树莓派的镜像系统会弹出一个对话框，在对话框的Password:
后面输入“raspberry”，点击“OK”后，Raspberry Pi
镜像系统桌面出现可移动磁盘(RPI-RP2)。如下所示:（注意：最新的树莓派镜像系统不会出现如下对话框，旧版的会出现如下对话框）

![](media/57aa727673e02ed5cc889c8669c587f2.png)

![](media/6e6c11ffed92c2ae8307044bb19ef4dc.png)

④在Removable medium is inserted对话框中点击“OK”打开可移动磁盘(RPI-RP2)，将树莓派镜像系统桌面上的文件（rp2-pico-20210902-v1.17.uf2）复制到可移动磁盘(RPI-RP2)内，并等待它完成，就像复制文件到U盘一样。

![](media/9cc833c1f1a30f7dc03dbf3704bb8078.png)

![](media/275776642c3a1adb914f777f7f1126ee.png)

⑤当固件烧入完成后，树莓派Pico板会自动重启。之后，你可以运行Micropython。

（4）串行端口

MicroPython固件配备了一个虚拟USB串口，可通过树莓派Pico板上的microUSB线访问该串口。您的计算机应该注意到这个串行端口并将其列为字符设备，很可能是/dev/ttyACM0。

输入指令ls /dev/tty\*，按下Enter键，可以列出所有的串口。可能有很多，但MicroPython的USB串口将以/dev/ttyACM开头。
如果有疑问，请拔下微型USB连接器，看看哪个消失了。如果你没有看到任何东西，你可以尝试重启你的树莓派。

输入以下指令，按下Enter键，安装串口minicom：

sudo apt install minicom

![](media/6d0f4bdb141b89023b93409502f4ba2f.png)选择Y，继续。

![](media/b3d8daaf8399339b323c84b3c56f9306.png)

输入以下指令，按下Enter键，打开串口minicom：

minicom -o -D /dev/ttyACM0

![](media/69b6047c7ba379310c76fcd52985d73f.png)

![](media/91fcf40cb12f0253a8cce5d7e8f88a9f.png)

按下 Ctrl + B

![](media/51a96a4158f128eb5248ad0d91aa8562.png)

在终端输入print("Hello World")，按下Enter键，将看到终端打印Hello World。

![](media/c798012147e88333565b5c3b60dc4642.png)

2.  安装Thonny(重要)

Thonny是一个免费、开源的软件平台，体积小，界面简单，操作简单，功能丰富，是一个适合初学者的Python IDE。在本教程中，我们使用这个IDE在整个过程中开发树莓派Pico。Thonny支持多种操作系统，包括Windows, Mac OS, Linux。

1.  下载Thonny软件

在前面推荐下载的树莓派镜像系统是带有一些常用软件的，其中Thonny也在列：

![](media/c2146f4eac397c9a207dfe4fe3a7e4e2.png)

但是，如果树莓派的镜像系统没有自带Thonny软件的话，就需要手动下载。在终端输入以下指令，再按Enter键来下载安装Thonny：

sudo apt install thonny

![](media/4322fd2b80c85fe1e88a39ec387bc6ae.png)

Thonny软件安装完成后，打开Thonny，如果是第一次打开的话，需要点击Thonny右上角“Switch to regular mode”来切换模式，点击“OK”后再重新打开Thonny。

![](media/8c999a6e2b0064493d89a1a585a54627.png)

![](media/538be42eee3791fbf1000551df28d475.png)

（2）语言设置（单击“Run”，选择点击“Select interpreter...”，再点击“General”,选择语言“简体中文”，最后点击“OK”，这样语言设置好了。）

![](media/02c471ddcfe92568834fa61988dcc500.png)

![](media/55268a2cc69a39aab28d02a72f875f2a.png)

语言设置完，重启Thonny IDE。这样，语言就设置完了，Thonny IDE页面就是中文版了。

![](media/1d45e856a86103393989ab6fb15cc7af.png)

![](media/787bedc6ea0e1e3777a2d31177602b36.png)

（3）Thonny软件连接上MicroPython设备 (Raspberry Pi Pico)

点击Thonny的“工具”→“设置...”。

![](media/4eee0ad1fdba3e12bcf507a3b7c2c621.png)

点击“解释器”,选择“MicroPython (一般)”或“MicroPython (Raspberry Pi Pico)”均可。在这里我们选择“MicroPython(一般)”，
如下所示：（注意：如果树莓派影像系统是最新版本，可以看到“MicroPython (一般)”和“MicroPython (Raspberry Pi Pico)”，则既可以选择“MicroPython (一般)”也可以选择“MicroPython (Raspberry Pi Pico)”）

![](media/f1ad432c22f9dd3c4d069570ffd9b081.png)

接着点击“端口”，选好对应的端口，点击“确定”就行，如下图所示:

![](media/c1db65a155bba573d5b3e617a5df7c0b.png)

![](media/85b89021db2a5df5bcd1168a3c9b2b9b.png)

点击“视图”→“Files”,Thonny软件左侧会出现“此电脑”栏和“MicroPython设备”栏。

![](media/93966d9f650e8c2a7f0afbe51fe16f73.png)

![](media/88cec24cfa69cd39369418343362ab0d.png)

Thonny IDE页面上的功能介绍

![](media/7e9aae0dab2d7c340326984ce2b4bf1b.png)

![](media/309882919cf38b306cdf777db5366e60.png)

这样，Thonny软件下载并设置好了。

四、测试代码(重要)

1.  测试Shell命令

在“Shell”窗口输入“print(Hello World!)”，按“Enter”键。

![](media/cf5c2a82d779524ded1abc88fe9ee619.png)

2.  在线运行代码：

要在线运行Raspberry Pi Pico，你需要把树莓派Pico板连接到树莓派上。这样就可以使用Thonny软件编译或调试程序。

优点：（1）你可以使用Thonny软件编译或调试程序。

（2）通过“Shell”窗口，你可以查看程序运行过程中产生的错误信息和输出结果，并可以在线查询相关功能信息，帮助改进程序。

缺点：（1）要在线运行树莓派Pico，你必须将树莓派Pico板连接到一台树莓派上并和Thonny软件一起运行。

（2）如果树莓派Pico板与树莓派
断开连接，当它们重新连接时，程序将无法再次运行。

基本操作：

（1）打开Thonny软件，并且单击
![](media/e776b2c874ac9c5d852212383b3cec27.png)“打开...”。

![](media/e4dad7abeb07c3d4a676f7a1bcd5e4b3.png)

（2）在新弹出的窗口中，点击“此电脑”。

![](media/149e6554c287df39aedd3aa6ede22a29.png)

在新的对话框中，进入文件夹home/pi/2.项目教程/项 01：Hello World选中“Project_01_HelloWorld.py”,单击“OK”。

![](media/7d15bb9c53237e0c9dd34086f6f0d153.png)

（3）单击![](media/0e4d02d37292e9d2c208b6b8bcde4f21.png)“运行当前脚本”来执行程序“Hello World!”, "Welcome keyes" 将打印在“Shell”窗口。

![](media/b33773b2fa7d425d9df325682b71c6cf.png)

退出在线运行

当在线运行时，单击Thonny软件上的![](media/92a50d0579b5d50ea659a6b8930da44a.png)“停止
/重启后端进程”退出程序。

![](media/cddbf7ffa693edf885c2dd1898bfc073.png)

3.  离线运行代码：

在离线运行时，树莓派
Pico板不需要连接树莓派和Thonny软件。一旦上电，它就可以运行存储在树莓派Pico板中的main.py程序。

优点：不需要连接树莓派 和Thonny软件就可以运行程序。

缺点：出现错误或树莓派Pico板没电时，程序会自动停止，并且代码不容易更改。

基本操作：

一旦上电后，树莓派Pico板会自动检查设备上是否存在main.py。如果有，则运行main.py中的程序，然后进入shell命令系统。(如果你想让代码离线运行，你可以将它保存为main.py);
如果main.py不存在，则直接进入shell命令系统。

（1）单击 “文件”→“新文件” 创建并编写代码。

![](media/9f386343eb575321066b3fe0d1690ff8.png)

（2）在新打开的文件中输入代码。这里我们以Project_02_Onboard_LED_flashing.py代码为例。

![](media/a3efd9d9cf17d82cc2064532ca2ea43c.png)

（3）单击菜单栏上的![](media/7b0f841cbc0acc5a30c3c30061fe9e3d.png)“保存”,
你可以将代码保存到此电脑或MicroPython设备（Raspberry Pi Pico）。

![](media/b10c58bc2286a6837954ffc43ebb2064.png)

4.  选择“MicroPython设备”，在新弹出的窗口中输入“main.py”并单击“OK”。

![](media/cbb32cc590ca3a03721c90931aa4f53d.png)

![](media/6bdedfc1803edf74bd61c5bbced54943.png)

5.  你可以看到代码已经被上传到树莓派Pico板中。

![](media/a3aa97e66b649b1e8f5cc09c645b86dc.png)

（6）断开树莓派Pico板的microUSB线，再重新连接，树莓派Pico板上的LED会反复闪烁。

![](media/e12ecf9006915a143134d18d53643ee4.png)
![](media/6f49241878e04e8ba4edd30fb2714249.png)

0.5秒

退出离线运行

连接树莓派Pico板到树莓派，点击Thonny软件上的![](media/0b9cf6411531d005d760df16819813e3.png)“停止/重启后端进程”结束离线运行。

![](media/c04ec4e29af8e7662151fc79799ad7ba.png)

如果它不能工作，请点击Thonny软件上的![](media/0b9cf6411531d005d760df16819813e3.png)“停止/重启后端进程”多次或重新连接树莓派Pico。

![](media/957980605e2767bad0d3e698091cb7d2.png)

我们提供了一个main.py文件用于离线运行。添加到main.py中的代码是执行用户代码文件的引导程序。你只需要将离线项目的代码文件(.py)上传到“MicroPython设备（Raspberry Pi Pico）”。

①将文件夹2.项目教程提前移动到树莓派系统的home/pi文件夹中，打开Thonny软件。

![](media/d4135cab8ff05bb20cb9b14eb742a9e1.png)

②在树莓派系统的文件夹目录下home/pi/2. 项目教程中展开项目
00：main，鼠标左键双击main.py，我们提供的main.py可以使“MicroPython设备（Raspberry Pi Pico）”中的代码离线运行。

![](media/5578fc0a32e2d93a42e63848ed194df4.png)

这里，我们使用项目 00和项目
02案例作为演示。使用Raspberry Pi Pico上的LED（GP25引脚）显示结果。如果你已经修改了Project_02_Onboard_LED_flashing.py文件，那么你需要相应地修改它。如下图所示，鼠标右键单击Project_02_Onboard_LED_flashing.py文件，选择“上载到/“上传代码到
MicroPython设备（Raspberry Pi Pico）。

![](media/420366d14cb43d6bba43312a17a85584.png)

用同样的方法上传main.py

![](media/9d7d1662d61f15ffee0e19a0732c6e9c.png)

![](media/52f9b1e85abc85bb62f9b02151f8c7a3.png)

断开树莓派Pico板的microUSB线并重新连接，树莓派Pico板上的LED将反复闪烁。

![](media/e12ecf9006915a143134d18d53643ee4.png)
![](media/6f49241878e04e8ba4edd30fb2714249.png)

0.5秒

注意:

这里的代码是离线运行的。如果你想停止离线运行并且在“Shell”窗口显示对应信息，只需单击Thonny软件上的![](media/0b9cf6411531d005d760df16819813e3.png)“停止/重启后端进程”。

![](media/06c84beaef62c4bc50ae04dd362a7bb5.png)

五、Thonny常见的操作

上传代码至MicroPython设备（Raspberry Pi Pico）

在项目 01：Hello World文件夹中，鼠标右键单击选中Project_01_HelloWorld.py，选择“上载到/”上传代码到
MicroPython设备（Raspberry Pi Pico）的根目录。

![](media/24b307d983420be0011b658b0431b3d4.png)

下载代码至树莓派系统中

在“MicroPython设备（Raspberry Pi Pico）”中，鼠标右键单击选中Project_01_HelloWorld.py，选择“下载到/”将代码下载到你的树莓派系统中。

![](media/ef00995c303e743f8ea53532e533a025.png)

删除MicroPython设备（Raspberry Pi Pico）根目录中的文件

在“MicroPython设备（Raspberry Pi Pico）”中，鼠标右键单击选中Project_01_HelloWorld.py，选择“删除”，从MicroPython设备（Raspberry Pi Pico）根目录中删除Project_01_Hello World.py。

![](media/1c6dc45190b95075514a48986d10c1ca.png)

删除树莓派系统的目录中的文件

在项目 01：Hello World文件夹中，鼠标右键单击选中Project_01_HelloWorld.py，选择“移至废纸篓”，即可从项目
01：Hello World文件夹中删除。

![](media/12398c7c32a21ee7cfccc1ac95679fae.png)

创建和保存代码

①单击 “文件”→“新文件” 创建并编写代码。

![](media/9f386343eb575321066b3fe0d1690ff8.png)

②在新打开的文件中输入代码。这里我们以Project_02_Onboard_LED_flashing.py代码为例。

![](media/a3efd9d9cf17d82cc2064532ca2ea43c.png)

③单击菜单栏上的![](media/7b0f841cbc0acc5a30c3c30061fe9e3d.png)“保存”,
你可以将代码保存到此电脑或MicroPython设备（Raspberry Pi Pico）。

![](media/b10c58bc2286a6837954ffc43ebb2064.png)

④选择“MicroPython设备”，在新弹出的窗口中输入“main.py”并单击“OK”。

![](media/cbb32cc590ca3a03721c90931aa4f53d.png)

![](media/6bdedfc1803edf74bd61c5bbced54943.png)

⑤你可以看到代码已经被上传到树莓派Pico板中。

![](media/d7f3478c9b4f297f4b60b5b2d9cccabe.png)

⑥单击![](media/bd51a90c93854c7b55076298ffb2b191.png)“运行当前脚本”,树莓派Pico板上的LED会周期性闪烁。

![](media/65e490a007d2f5fdd86ba1827a5ffca8.png)

![](media/e12ecf9006915a143134d18d53643ee4.png)
![](media/6f49241878e04e8ba4edd30fb2714249.png)

0.5秒





## 项目课程

### 项目 01: Hello World

项目介绍：

对于树莓派Pico初学者，我们将从一些简单的东西开始。在这个项目中，你只需要一个树莓派Pico板，USB线和树莓派系统就可以完成“Hello World!”项目。它不仅是树莓派Pico和树莓派系统的通信测试，也是树莓派Pico板的初级项目。

项目元件：

|![](media/ea4c22ac79b4e3cf9c6185c6ccf3717a.jpg)|![](media/3bdcc62cfa661d2b860a76e28537e21e.png)|
|-|-|
|树莓派Pico板*1|USB 线*1|

项目接线：

在本项目中，我们通过USB线将树莓派Pico板和树莓派连接起来。连接方法请参照文档：开发环境设置

![](media/bbebdf7f2c0f4c223b6f2548d7ff6607.png)![](media/ea4c22ac79b4e3cf9c6185c6ccf3717a.jpg)

4.在线运行代码：

要在线运行树莓派Pico，你需要把树莓派Pico板连接到树莓派上。这样就可以使用Thonny软件编译或调试程序。

优点：1. 你们可以使用Thonny软件编译或调试程序。

2. 通过“Shell”窗口，你们可以查看程序运行过程中产生的错误信息和输出结果，并可以在线查询相关功能信息，帮助改进程序。

缺点：1.要在线运行树莓派Pico，你必须将树莓派Pico板连接到一台树莓派上并和Thonny软件一起运行。

2.如果树莓派Pico板与树莓派断开连接，当它们重新连接时，程序将无法再次运行。

基本操作：

1.打开Thonny软件，并且单击![](media/ad329e63282aec13bb82f332d8b2df68.png)“打开...”。

![](media/980aece90f828799fbffa8400a52a98f.png)

2.在新弹出的窗口中，点击“此电脑”。

![](media/843718b977c654e9ea5ef1c99e91e114.png)

在新的对话框中，选中“Project_01_HelloWorld.py”,单击“OK”。本教程中使用的代码保存在“3. Python 教程\2. 树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将“2.
项目课程.ZIP”文件压缩包（默认是ZIP文件）复制粘贴到树莓派系统的文件夹pi中，然后将压缩包解压。路径：home/pi/2.
项目课程。

![](media/e83e675ed14d95e268159486b2605bfe.png)

3.单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”来执行程序“Hello World!”, "Welcome keyes" 将打印在“Shell”窗口。

![](media/fb89a0c94c3e8f0bb7097e279a489b88.png)

退出在线运行

当在线运行时，单击Thonny软件上的![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止
/重启后端进程”或按Ctrl+C退出程序。

![](media/5712619cf54cded2686f74b978dbd9bf.png)

### 项目 02：板载灯闪烁

项目介绍：

树莓派Pico板上有个板载LED，这个LED是固定接在树莓派Pico板上的GP25引脚，在这个项目中，我们将来学习使板载LED闪烁的效果。

项目元件：

|![](media/ea4c22ac79b4e3cf9c6185c6ccf3717a.jpg)|![](media/3bdcc62cfa661d2b860a76e28537e21e.png)|
|-|-|
|树莓派Pico板*1|USB 线*1|

项目接线：

在本项目中，用USB线将树莓派Pico板和树莓派连起来。连接方法请参照文档：开发环境设置

![](media/bbebdf7f2c0f4c223b6f2548d7ff6607.png)![](media/ea4c22ac79b4e3cf9c6185c6ccf3717a.jpg)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

代码在线运行：

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
02：板载灯闪烁”。

![](media/e6ee1fc83074fc903a890dcb5a264313.png)

展开文件夹“项目
02：板载灯闪烁”，鼠标左键双击“Project_02_Onboard_LED_flashing.py”打开它。如下图所示：

![](media/3cd7e6a46dd330b29cedaa1d8af6466d.png)

|from machine import Pin import time led = Pin(25, Pin.OUT) # 从引脚25创建LED对象，设置引脚25为输出 try: while True: led.value(1) # 设置led开启 time.sleep(0.5) # 延时 0.5s led.value(0) # 设置led 关闭 time.sleep(0.5) # 延时 0.5s except: pass|

确保树莓派Pico板已经连接到树莓派上。单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/启动后端进程”，然后去看看“Shell”窗口将显示什么界面。

![](media/27c7840932f9301d0d390b022fff722e.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：树莓派Pico板的LED开始闪烁。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/启动后端进程”退出程序。

![](media/f4c79b1b247ea624fa4bff7c7d03a9ad.png)

![](media/e12ecf9006915a143134d18d53643ee4.png)
![](media/6f49241878e04e8ba4edd30fb2714249.png)

0.5秒

注意：这是在线运行的代码。如果你断开USB线，重新启动“树莓派Pico”，树莓派Pico板上的LED停止闪烁。在Thonny软件“Shell”窗口将显示如下信息：

![](media/3281ff6e41934203c2fa99a90392c9e2.png)

代码离线运行（上传代码到MicroPython设备（Raspberry Pi Pico））：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/启动后端进程”。

![](media/f05d88f0d174ce4cd94b705bd0f7cc1c.png)

如下图所示，鼠标右键单击文件“Project_02_Onboard_LED_flashing.py”，选择“上载到/”上传代码到MicroPython设备（Raspberry Pi Pico）。

![](media/6b469c2b342318580408d15e5a3cdcfd.png)

用同样的方法上传main.py

![](media/d0f6fd7af6f762862bace697b0120092.png)

![](media/e34016af9e971b3ab6c41948edc89dff.png)

断开树莓派Pico板上的USB线并重新连接，树莓派Pico板的LED会反复闪烁。

![](media/e12ecf9006915a143134d18d53643ee4.png)
![](media/6f49241878e04e8ba4edd30fb2714249.png)

0.5秒

注意：这里的代码是离线运行的。如果你想停止离线运行并且在“Shell”窗口显示对应信息，只需单击Thonny软件中的![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/启动后端进程”。

![](media/e83cd39ce7e18c04278703312e448a73.png)

### 项目 03：外接灯闪烁 

项目介绍： 

在这个项目中，我们将向你展示外接LED闪烁效果。我们使用树莓派Pico板的数字引脚打开LED，让它闪烁。

项目元件：

|![](media/c6e2dacdcbf063ed4ee92f619c6cb961.jpg)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|公对母杜邦线若干|USB 线*1|
|![](media/7eb361d680dfa351f07f8527aeb37abd.png)|![](media/f7784bea849600eb35d1a52730050dd2.png)|![](media/01e1718266f97a76fa59685d5d339430.png)||
|红色LED*1|220Ω电阻*1|面包板*1||

元件知识：

（1）LED:

![](media/626a5da07f0aa2aee972c73a879896da.jpg)

LED是一种被称为“发光二极管”的半导体，是一种由半导体材料(硅、硒、锗等)制成的电子器件。它有正极和负极。短腿为负极，接GND，长腿为正极，接3.3V或5V。

![](media/14a84d5f016d7566151a5563c502787e.png)

（2）五色环电阻

电阻是电路中限制或调节电流流动的电子元件。左边是电阻器的外观，右边是电阻在电路中表示的符号。电阻(R)的单位为欧姆(Ω)，1 mΩ= 1000 kΩ，1kΩ= 1000Ω。

![](media/915dcbfa3e0a610e57747f292049f3a5.jpg)
![](media/b8c2bb90c0248dc176e003ab283305a2.png)

我们可以使用电阻来保护敏感组件，如LED。电阻的强度（以Ω为单位）用小色环标记在电阻器的主体上。每种颜色代表一个数字，你可以用电阻对照卡查找。

\-色带1 – 1st Digit.

-色带 2 – 2nd Digit.

-色带 3 – 3rd Digit.

-色带 4 – Multiplier.

-色带 5 – Tolerance.

![](media/c3df005312cd9f6d4cdae6abf3cddb83.png)

在这个套件中，我们提供了3个具有不同电阻值的五色环电阻。这里以3个五色环电阻为例：

220Ω 电阻*10

![](media/36975a2bb15b26b3a05d358b4ea3429d.png)

10KΩ 电阻*10

![](media/cf6d6c9c02527cd2b9155e5385c20c24.png)

1KΩ 电阻*10

![](media/f72eafc0548a81c4624a081f8380675f.png)

在相同的电压下，会有更小的电流和更大的电阻。电流(I)、电压(U)、电阻(R)之间的联系可以用公式表示：I=U/R。在下图中，假如电压为3V，则通过R1的电流:
I = U / R = 3 V / 10 KΩ= 0.0003A= 0.3mA。

![](media/b3eec552e4dfad361833730698621776.png)

不要把电阻值很低的电阻直接连接在电源两极，这样会使电流过高而损坏电子元件。电阻是没有正负极之分。

（3）面包板

面包板是实验室中用于搭接电路的重要工具。面包板上有许多孔，可以插入集成电路和电阻等电路元件。熟练掌握面包板的使用方法是提高实验效率，减少实验故障出现几率的重要基础之一。下面就面包板的结构和使用方法做简单介绍。一个典型的面包板如下所示：

![](media/837cd6ec4b1b09cc46340201a6425958.jpeg)

面包板的外观和内部结构如上图所示，常见的最小单元面包板分上、中、下三部分，上面和下面部分一般是由一行或两行的插孔构成的窄条，中间部分是由中间一条隔离凹槽和上下各5
行的插孔构成的条。

![](media/099510035abc223273495e042a7bd6b6.jpeg)

在面包板的两个窄条分别有两行插孔，两行之间是不连通的，一般是作为电源引入的通路。上方第一行标有“+”的一行有10组插孔（内部都是连通），均为正极；上方第二行标有“-”的一行有10组插孔，（内部都是连通），均为接地。面包板下方的第一行与第二行结构同上。如需用到整个面包板，通常将“+”与“+”用导线连接起来，“-”与“-”用导线连接起来。

　　中间部分宽条是由中间一条隔离凹槽和上下各5
行的插孔构成。在同一列中的5
个插孔是互相连通的，列和列之间以及凹槽上下部分则是不连通的。外观及结构如下图：

![](media/3fc9a04d9354e63ca0e89eb7ed627128.png)

中间部分宽条的连接孔分为上下两部分，是面包板的主工作区，用来插接原件和跳线。在同一列中的5个插孔（即a-b-c-d-e，f-g-h-i-j）是互相连通的；列和列之间以及凹槽上下部分是不连通的。在做实验的时候，通常是使用两窄一宽组成的小单元，在宽条部分搭接电路的主体部分，上面的窄条取一行做电源，下面的窄条取一行做接地。中间宽条用于连接电路，由于凹槽上下是不连通的，所以集成块一般跨插在凹槽上。

（4）keyes 树莓派Pico板的扩展板使用方法

将树莓派Pico板堆叠在扩展板上即可使用，如下图：

![](media/0161af1decdb4f2bcfffbe8601f80781.jpg)

（5）电源

在本项目中，用USB线将树莓派Pico板和树莓派连起来。连接方法请参照文档：开发环境设置

![](media/bbebdf7f2c0f4c223b6f2548d7ff6607.png)![](media/ea4c22ac79b4e3cf9c6185c6ccf3717a.jpg)

项目电路图和接线图：

首先，切断树莓派Pico板的所有电源。然后根据电路图和接线图搭建电路。电路搭建好并验证无误后，用USB线将树莓派Pico板连接到电脑上。注意：避免任何可能的短路(特别是连接3.3V和GND)!

警告：短路可能导致电路中产生大电流，造成元件过热，并对硬件造成永久性损坏。

![](media/cb069d7553d861e3293d8bdbe85bbd05.png)

电路图

![](media/96800765a20d72653a8cd4a9ae12b636.png)

接线图

注意: 怎样连接LED 怎样识别五色环220Ω电阻

![](media/b48547fadcc609ea3ad0889fb90e1588.png)
![](media/bb9df3747981c6af7d9ecc174e150dd0.png)

项目代码：

根据电路图，当树莓派Pico板的GP16输出高电平时，LED点亮；当输出低电平时，LED灯关闭。因此，我们可以通过控制GP16重复输出高低电平，使LED反复闪烁。

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

代码在线运行：

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
03：外接灯闪烁”。

![](media/197f7f81fd0d9ed5c0b45b16abf6f07b.png)

展开文件夹“项目
03：外接灯闪烁”，鼠标左键双击“Project_03_External_LED_flashing.py”打开它。如下图所示：

![](media/e088f77111907c4723f0f8cccb6a398c.png)

确保树莓派Pico板已经连接到树莓派上。单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”，然后去看看“Shell”窗口将显示什么界面。

![](media/cdfada689a7fbfde409d1869746089d0.png)

单击![](media/da852227207616ccd9aff28f19e02690.png)“运行当前脚本”，代码开始执行，电路中的LED开始闪烁。按“Ctrl+C”或单击![](media/27451c8a9c13e29d02bc0f5831cfaf1f.png)“停止/重启后端进程”退出程序。

![](media/b86297cfe4e1168bdb3087b2b5c1d36a.png)

![](media/29fb2d6a043a0e659a37634caeb89b28.png)
![](media/2dcc6a55b77b4175b5175f717eb196c3.png)

0.5秒

注意：这是在线运行的代码。如果断开USB线，重新启动“树莓派Pico”，LED停止闪烁。在Thonny软件的“Shell”窗口将显示如下信息：

![](media/ee6caa5c08988eb7cbba52fdfc69ffe6.png)

代码离线运行（上传代码到MicroPython设备（Raspberry Pi Pico））：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/4b043742ec0b5e726bf42ead5af0348e.png)

如下图所示，鼠标右键单击文件“Project_03_External_LED_flashing.py”，选择“上载到/”上传代码到MicroPython设备（Raspberry Pi Pico）。

![](media/24bc2d0332b03d52b3519546a65be006.png)

用同样的方法上传main.py

![](media/7104d9134269b8ac6828adb3bf33597f.png)

![](media/6e795e2477823b4641d1db558999a227.png)

断开树莓派Pico板上的USB线并重新连接，电路中的LED会反复闪烁。

![](media/e9f0b29c2af13024141587df308efb9a.png)
![](media/ebfa06b7b6794b96439e02e82942e5b5.png)

0.5秒

注意：这里的代码是离线运行的。如果你想停止离线运行并且在“Shell”窗口显示对应信息，只需单击Thonny软件中的![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/72d9fd735eeba1f94ee2bdf7f292f036.png)

### 项目 04: 呼吸灯

项目介绍：

在之前的研究中，我们知道LED有亮/灭状态，那么如何进入中间状态呢?如何输出一个中间状态让LED“半亮”?这就是我们将要学习的。呼吸灯，即LED由灭到亮，再由亮到灭，就像“呼吸”一样。那么，如何控制LED的亮度呢?我们将使用树莓派Pico板的PWM来实现这个目标。

项目元件：

|![](media/c6e2dacdcbf063ed4ee92f619c6cb961.jpg)|![](media/b7e1ab0bb060837762b172e06175d8d2.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|公对母杜邦线若干|USB 线*1|
|![](media/7eb361d680dfa351f07f8527aeb37abd.png)|![](media/f7784bea849600eb35d1a52730050dd2.png)|![](media/01e1718266f97a76fa59685d5d339430.png)||
|红色LED*1|220Ω电阻*1|面包板*1||

元件知识：

![](media/54b13e97b57933c968504eb0c3d732ce.png)

Analog & Digital

模拟信号在时间和数值上都是连续的信号。相反，数字信号或离散时间信号是由一系列数字组成的时间序列。生活中的大多数信号都是模拟信号。一个熟悉的模拟信号的例子是，全天的温度是如何不断变化的，而不是突然从0到10的瞬间变化。然而，数字信号的值可以瞬间改变。这个变化用数字表示为1和0(二进制代码的基础)。如下图所示，我们可以更容易地看出它们的差异。

![](media/4bdf6127e563b453a1fd8953b4ebb277.png)

在实际应用中，我们经常使用二进制作为数字信号，即一系列的0和1。由于二进制信号只有两个值(0或1)，因此具有很大的稳定性和可靠性。最后，可以将模拟信号和数字信号相互转换。

PWM：

脉宽调制(PWM)是一种利用数字信号控制模拟电路的有效方法。普通处理器不能直接输出模拟信号。PWM技术使这种转换(将数字信号转换为模拟信号)非常方便。PWM技术利用数字引脚发送一定频率的方波，即高电平和低电平的输出，交替持续一段时间。每一组高电平和低电平的总时间一般是固定的，称为周期(注:周期的倒数是频率)。高电平输出的时间通常称为脉宽，占空比是脉宽(PW)与波形总周期(T)之比的百分比。高电平输出持续时间越长，占空比越长，模拟信号中相应的电压也就越高。下图显示了对应于脉冲宽度0%-100%的模拟信号电压在0V-3.3V(高电平为3.3V)之间的变化情况.

![](media/07831c118a4ce895fb317a6fa7bbf553.jpg)

PWM占空比越长，输出功率越高。既然我们了解了这种关系，我们就可以用PWM来控制LED的亮度或直流电机的速度等等。从上面可以看出，PWM并不是真实的模拟信号，电压的有效值等于相应的模拟信号。因此，我们可以控制LED和其他输出模块的输出功率，以达到不同的效果

树莓派Pico与 PWM

树莓派Pico板有16个PWM通道，每个PWM通道可以独立控制频率和占空比，时钟频率范围为7Hz到125MHz。树莓派Pico板上的每个引脚都可以配置为PWM输出。

项目电路图和接线图：

![](media/88f88727dc4c0adca334b96206f91d63.png)

![](media/6f9b5d2444827aab124a64d3236a02a9.png)

项目代码：

本项目设计使GP16输出PWM，脉宽由0%逐渐增加到100%，再由100%逐渐减小到0%。

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
04：呼吸灯”。并鼠标左键双击“Project_04_Breathing_Led.py”。

![](media/cfaafcb676b7bc183f7351364f18f5c0.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/e565f6394c76cde565e50e9a89dbb007.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：电路中的LED从暗逐渐变亮，再从亮逐渐变暗，就像呼吸一样。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/f0b7ec03d6673a16737bbc88084951e2.png)

![](media/e4789bf063f7fdca158b7a87011a02de.png)
![](media/3673c95868f245ee28365de8e51d2ced.png)

### 项目 05：交通灯

项目介绍：

交通灯在我们的日常生活中很普遍。根据一定的时间规律，交通灯是由红、黄、绿三种颜色组成的。每个人都应该遵守交通规则，这可以避免许多交通事故。在这个项目中，我们将使用树莓派Pico板和一些led(红，黄，绿)来模拟交通灯。

项目元件：

|![](media/77aa25aef55c00fcf0cd12143e34c688.jpg)|![](media/22d4b5c6b3ac4aaca2b9754904170b28.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/afa6edd3ff90b027a6f43995a6fb15a2.png)|![](media/0c1b0f91b4e56bcbc235d06b48809ac9.png)|
|-|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|公对母杜邦线若干|红色LED*1|黄色 LED*1|
|![](media/6c688493b558ed5f3e90e7dab38cbd93.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|![](media/f7784bea849600eb35d1a52730050dd2.png)|![](media/afa78dcb54297dc7dcbf7f8eefcfe3c2.png)|![](media/58935b6f12b1ff3e3cadec37761e12eb.png)|
|绿色LED*1|USB 线*1|220Ω电阻*3|面包板*1|跳线若干|

项目电路图和接线图：

![](media/9c89c43f423eb6c23526e513b4844e29.png)![](media/8d0c6e62f1beff634ace981de3ecf978.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2.
项目课程”→“项目05：交通灯”。并鼠标左键双击“Project_05_Traffic_Lights.py”。

![](media/17cc957086b11442ebbc6e91e2133fbc.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/86f57377924ec97663d82f470f5b632b.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：1.首先，绿灯会亮5秒，然后熄灭；2.其次，黄灯会闪烁3次，然后熄灭；3.然后，红灯会亮5秒，然后熄灭；4.继续运行上述1-3个步骤。

按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/0beb38764733cac841c53a9c675e5bad.png)

### 项目 06: RGB LED

项目介绍：

![](media/86fcb962ea63074253e247ce6e5c6faa.png)

RGB led由三种颜色(红、绿、蓝)组成，通过混合这三种基本颜色可以发出不同的颜色。在这个项目中，我们将向你介绍RGB LED，并向你展示如何使用树莓派Pico板控制RGB LED发出不同的颜色光。即使RGB LED是非常基本的，但这也是一个介绍自己或他人电子和编码基础的伟大方式。

项目元件：

|![](media/b2da57191e34efe5321aeee41421236b.jpg)|![](media/ec7e0d114256da11649153c981ba3119.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/f1a86fc81ab4b043263ce7e01e14d470.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|公对母杜邦线若干|RGB LED*1|
|![](media/f7784bea849600eb35d1a52730050dd2.png)|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/b08ceab591a290805836f21bc11ab107.png)||
|220Ω电阻*3|面包板*1|USB 线*1||

元件知识：

显示器大多遵循RGB颜色标准，电脑屏幕上的所有颜色都是由红、绿、蓝三种颜色以不同比例混合而成。

![](media/32abd117bdfbba2f79a0e156048b9d22.png)![](media/fc3074fc228ac47de33661bf1fa20fd1.png)

这个RGB LED有4个引脚，每个颜色(红，绿，蓝)和一个共同的阴极。为了改变RGB led的亮度，我们可以使用树莓派Pico板的PWM引脚。PWM引脚会给RGB led不同占空比的信号以获得不同的颜色。

如果我们使用3个10位PWM来控制RGBLED，理论上我们可以通过不同的组合创建210\*210\*210=
1,073,741,824(10亿)种颜色。

项目电路图和接线图：

![](media/22244be631cf2dfd46536d12fd8734a5.png)

![](media/c18f869a9b18fc521c3d09be942efebd.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/770b91298f11417caa4b7f5be713f981.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2.
项目课程”→“项目06：RGB”。并鼠标左键双击“Project_06_RGB_LED.py”。

![](media/796e47b98ad59c0aeda069bbc1efaeab.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/7d210e7bde49c766ad1f1333e2aaf090.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：RGB LED开始显示随机颜色。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/51e25bdcf94fc5e5a84459d6f94ad217.png)

### 项目 07: 流水灯

项目介绍：

在日常生活中，我们可以看到许多由不同颜色的led组成的广告牌。他们不断地改变灯光(像流水一样)来吸引顾客的注意。在这个项目中，我们将使用树莓派Pico板控制10个leds实现流水的效果。

项目元件：

|![](media/b2da57191e34efe5321aeee41421236b.jpg)|![](media/2119a439641b7d0aa2455810e42e74eb.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/3ec5906fad2172708d449390140f55e6.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|公对母杜邦线若干|红色LED*10|
|![](media/f7784bea849600eb35d1a52730050dd2.png)|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/58935b6f12b1ff3e3cadec37761e12eb.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|
|220Ω电阻*10|面包板*1|跳线若干|USB 线*1|

项目电路图和接线图:

![](media/e680b360850915f5aca165db0402dd44.png)

![](media/e3d6a1880f61fdfaec74360190f5ed43.png)

项目代码：

本项目是设计制作一个流水灯。这是这些行动：首先打开LED
\#1，然后关闭它。然后打开LED
\#2，然后关闭…并对所有10个LED重复同样的操作，直到最后一个LED关闭。这一过程反复进行，以实现流水的“运动”。

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
07：流水灯”。并鼠标左键双击“Project_07_Flowing_Water_Light.py”。

![](media/6ba15d1f11bcdaa627c86721694ace8a.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/46335f7bf2703baf95c549ec358553a9.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：10个LED将从左到右点亮，然后从右到左返回。按“Ctrl+C”或点单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/241fc5fda1c94c8a4537f6e0feae28f8.png)

![](media/244d04c89963cb8d07bcb09281a01529.png)

### 项目 08: 一位数码管

项目介绍：

七段数码管是一种显示十进制数字的电子显示设备，广泛应用于数字时钟、电子仪表、基本计算器和其他显示数字信息的电子设备。甚至我们在电影中看到的炸弹也有七段数码管。也许七段数码管看起来不够现代，但它们是更复杂的点阵显示器的替代品，在有限的光线条件下和强烈的阳光下都很容易使用。在这个项目中，我们将使用树莓派Pico板控制一位数码管显示数字。

项目元件：

|![](media/b2da57191e34efe5321aeee41421236b.jpg)|![](media/b7e1ab0bb060837762b172e06175d8d2.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/75e38d601750a4707369bc73d8028063.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|公对母杜邦线若干|一位数码管*1|
|![](media/f7784bea849600eb35d1a52730050dd2.png)|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/b08ceab591a290805836f21bc11ab107.png)||
|220Ω电阻*8|面包板*1|USB 线*1||

元件知识：

![](media/bc9e0030625cf7cf0716f7bc7245c31e.png)

一位数码管显示原理：数码管显示是一种半导体发光器件。它的基本单元是一个发光二极管(LED)。数码管显示根据段数可分为7段数码管和8段数码管。8段数码管比7段多一个LED单元(用于小数点显示)。七段LED显示屏的每段是一个单独的LED。根据LED单元接线方式，数码管可分为共阳极数码管和共阴极书案管。

在共阴极7段数码管中，分段LED的所有阴极(或负极)都连接在一起，你应该把共阴极连接到GND，要点亮一个分段LED，你可以将其关联的引脚设置为HIGH。

在共阳极7段数码管中，所有段的LED阳极(正极)都连接在一起，你应该把共阳极连接到+5V。要点亮一个分段LED，你可以将其关联的引脚设置为LOW。

![](media/492e7a8ed89a429826537d5e01152269.png)

数码管的每个部分由一个LED组成。所以当你使用它的时候，你也需要使用一个限流电阻。否则，LED会被烧坏。在这个实验中，我们使用了一个普通的共阴极一位数码管。正如我们上面提到的，你应该将公共阴极连接到GND。要点亮一个分段LED，你可以将其关联的引脚设置为HIGH。

项目电路图和接线图：

![](media/cdecc109f3d703edb67b372d8c05a696.png)

注意：插入面包板的七段数码管方向与接线图一致，右下角多一个点。

![](media/36b442a8810bd88409f73d53aea2b937.png)

![](media/1240fb0c10e8e14cac1151158d7f313d.png)

项目代码：

数字显示分7段，小数点显示分1段。当显示某些数字时，相应的段将被点亮。例如，当显示数字1时，b和c段将被打开。

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
08：一位数码管”。并鼠标左键双击“Project_08_One_Digit_Digital_Tube.py”。

![](media/f8d0fe9f0151f2e4109a45e576a16dfd.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/11a5b99a86949810aa21b9b6488ef957.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：一位数码管将显示从9到0的数字。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/a7d3f7e73bd776278a152c5d873145c0.png)

### 项目 09：四位数码管

项目介绍：

四位数码管是一种非常实用的显示器件，电子时钟的显示，球场上的记分员，公园里的人数都是需要的。由于价格低廉，使用方便，越来越多的项目将使用4位数码管。在这个项目中，我们使用树莓派Pico板控制四位数码管来显示数字。

项目元件：

|![](media/a395af28ea9967dca1ec1cbf44fbe634.jpg)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|![](media/65f8db274ab3e56cbb2c434b89f6f4f7.png)|![](media/444f55826afb83e530d7dc97e627d954.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|220Ω 电阻*8|四位数码管*1|
|![](media/939747ba0b82ccdcbe289028356a7635.png)|![](media/79c373b80745929aeea14eac48e52fb4.png)|![](media/b08ceab591a290805836f21bc11ab107.png)||
|面包板*1|公对母杜邦线若干|USB 线*1||

元件知识：

![](media/fab6f292ad984713cd82b9f3cd107a1f.png)

四位数码管：四位数码管有共阳极和共阴极两种四位数码管，显示原理是和一位数码管是类似的，都是8个GPIO口控制数码管的显示段，就是8个led灯，不过，这里是4位的，所以就还需要4个GPIO口来控制位选择端，就是选择哪个单个数码管亮，位的切换很快，肉眼区分不出来，就能看起来是多个数码管同时显示的了。

我们的四位数码管是共阴极的。

下图为4位数码管的引脚图，G1、G2、G3、G4就是控制位的引脚。

![](media/37113fa53213973132086c285d67686b.png)

下图为4位数码管内部布线原理图

![](media/bd7d7e0511842fbe694102ab148ed344.png)![](media/b8d701fa4c7cdb20bace4b78748ee169.png)

项目电路图和接线图：

![](media/4f64b9bf6b74ab49584f69c7465efa73.png)

![](media/c4bb871135269a61e7341e7a5360b70d.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
09：四位数码管”。然后鼠标左键双击“Project_09_Four_Digit_Digital_Tube.py”。

![](media/24951deff85ea39283d9ceb389c16c42.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/fa98b79fc1f84f55458fb89f2901fde3.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：四位数码管显示数字，并在一个无限循环中重复这些动作。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/e6c6fd4b9e2cdbedd7589518b94d72f9.png)

### 项目 10：8×8 点阵显示

项目介绍：

点阵屏是一种电子数字显示设备，可以显示机器、钟表、公共交通离场指示器和许多其他设备上的信息。在这个项目中，我们将使用树莓派Pico板控制8x8 LED点阵来逐渐点亮点阵。

项目元件：

|![](media/b2da57191e34efe5321aeee41421236b.jpg)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|![](media/db70c7bb9ebde2f658f133cdeb1bb8bb.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|8*8点阵屏*1|USB 线*1|
|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/ffbfbf739e60ed2c41ae74001f2edcb2.png)|![](media/01e1718266f97a76fa59685d5d339430.png)||
|公对母杜邦线若干|220Ω 电阻*8|面包板*1||

元件知识：

8\*8LED Matrix：8\*8点阵，就是由64个led灯组成，有行共阳极和行共阴极两种，我们的模块是行共阳极的，也就是每一行有一条线将LED的正极连到一起，列就是将LED灯的负极连接到一起，看下图：

![](media/69c719a7898907ab32f089f0cbbaff13.png)

![](media/bcfa2498367eaf9c7733da15af32eae7.png)

项目电路图和接线图：

![](media/788c542587a59d3c635134a5ba594e8a.png)

![](media/bf2e99950c446188b5ae4c767f99b9d3.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 10：8×8
点阵显示”。然后鼠标左键双击“Project_10_8×8_Dot_Matrix_Display.py”。

![](media/fa2e9a028fc0a96ebcffc5b5115b4f37.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/757cd53521ece3a75e0383ea32720285.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：8\*8点阵屏显示字符“A”1S、显示字符“B”1S、显示字符“C”1S，然后滚屏显示字符串“Hello World”，反复循环。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/b5f99487195241710cb0aeab0eb2259f.png)

### 项目 11：74HC595N 控制 8 个LED

项目介绍：

在之前的项目中，我们已经学过了怎样点亮一个LED。

树莓派Pico板上只有26个IO端口，我们如何点亮大量的led呢?
有时可能会耗尽树莓派Pico板上的所有引脚，这时候就需要用移位寄存器扩展它。你可以使用74HC595N芯片一次控制8个输出，而只占用你的微控制器上的几个引脚。你还可以将多个寄存器连接在一起，以进一步扩展输出，在这个项目中，我们将使用树莓派Pico板，74HC595芯片和LED制作一个流水灯来了解74HC595芯片的功能。

项目元件：

|![](media/b2da57191e34efe5321aeee41421236b.jpg)|![](media/b7e1ab0bb060837762b172e06175d8d2.png)|![](media/db62d11edebf8ad4e639bf00bb11aadb.png)|
|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|74HC595N芯片*1|
|![](media/f7784bea849600eb35d1a52730050dd2.png)|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/58935b6f12b1ff3e3cadec37761e12eb.png)|
|220Ω电阻*8|面包板*1|跳线若干|
|![](media/3ec5906fad2172708d449390140f55e6.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|
|红色LED*8|USB 线*1|公对母杜邦线若干|

元件知识：

![](media/90f37be5fdb5724ae94ff0e572920645.png)

74HC595N芯片：简单来说就是具有8
位移位寄存器和一个存储器，以及三态输出功能。移位寄存器和存储器同步于不同的时钟，数据在移位寄存器时钟SCK的上升沿输入，在存储寄存器时钟RCK的上升沿进入的存储寄存器中去。如果两个时钟连在一起，则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入端（SI）和一个用于级联的串行输出端（SQH）,8位移位寄存器可以异步复位（低电平复位），存储寄存器有一个8位三态并行的总线输出，当输出使能（OE）被使能（低电平有效）将存储寄存器中输出至74HC595N的引脚（总线）。

![](media/168550ee46e0145a786608b49db42e45.png)

引脚说明：

|13引脚OE|是一个输出使能引脚，用于确保锁存器的数据是否输入到Q0-Q7引脚。在低电平时，不输出高电平。在本实验中，我们直接连接GND，保持低电平输出数据。|
|-|-|
|14引脚SI|这是74HC595接收数据的引脚，即串行数据输入端，一次只能输入一位，那么连续输入8次，就可以组成一个字节了。|
|10引脚SCLR|一个初始化存储寄存器管脚的管脚。在低电平时初始化内部存储寄存器。在这个实验中，我们连接VCC以保持高水平。|
|11引脚SCK|移位寄存器的时钟引脚，上升沿时，移位寄存器中的数据整体后移，并接收新的数据输入|
|12引脚RCK|存储寄存器的时钟输入引脚。上升沿时，数据从移位寄存器转存到存储寄存器中。这时数据就从Q0~Q7端口并行输出。|
|9引脚SQH|引脚是一个串行输出引脚，专门用于芯片级联，接下一个74HC595的SI端|
|Q0--Q7(15引脚，1-7引脚)|八位<a href="https://baike.baidu.com/item/%E5%B9%B6%E8%A1%8C/5806759">并行</a>输出端，可以直接控制数码管的8个段|

项目电路图和接线图：

![](media/36ef4afa4292ce69cb0a3e88d8a9ae37.png)

注意：需要注意74HC595N芯片插入的方向

![](media/39d34b80af0487eef9d8c2f60c3fefb1.png)
![](media/5a0de137092d094f6007098ac141586a.png)

![](media/2e9119dc12901caa560012602adf907c.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
11：74HC595N 控制 8 个LED”。选择“my74HC595.py”，鼠标右键单击选择
“上载到/”，等待“my74HC595.py”被上传到MicroPython设备（Raspberry Pi Pico），然后鼠标左键双击“Project_11_74HC595N_Controls_8_LEDs.py”。

![](media/073c4ca9b9c407f1e2f53402d0411164.png)

![](media/f020e28654613661e5da99cb21da30de.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/b73e77fc31de5a0025fa9d4ac0cd6485.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：8个LED开始以流水模式闪烁。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/bc5bcbb9f633beecbee143138f32bd33.png)

### 项目 12：有源蜂鸣器

项目介绍：

有源蜂鸣器是一个发声组件。它被广泛用作电脑、打印机、报警器、电子玩具、电话、计时器等的发声元件。它有一个内在的振动源，只需连接5V电源，即可持续发出嗡嗡声。在这个项目中，我们将使用树莓派Pico板控制有源蜂鸣器发出“滴滴”声。

项目元件：

|![](media/ef1f2f540eb42af5263d59d1773d0085.jpg)|![](media/7396780b885b808bb6427ada6c9520d5.png)|![](media/01e1718266f97a76fa59685d5d339430.png)|
|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|面包板*1|
|![](media/9ab8162cf6d998b145c6fdb31ee9733f.png)|![](media/ffbfbf739e60ed2c41ae74001f2edcb2.png)|![](media/58935b6f12b1ff3e3cadec37761e12eb.png)|
|NPN型晶体管(S8050)*1|1kΩ电阻*1|跳线若干|
|![](media/4b4f653a76a82a3b413855493cc58fba.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|
|有源蜂鸣器*1|USB 线*1|公对母杜邦线若干|

元件知识：

![](media/ce75e9ae9489ba74e9d6312f04f24c7a.png)

有源蜂鸣器内部有一个简单的振荡器电路，可以将恒定的直流电转换成特定频率的脉冲信号。一旦有源蜂鸣器收到一个高电平，它将产生声音。而无源蜂鸣器是一种内部没有振动源的集成电子蜂鸣器，它必须由2K-5K方波驱动，而不是直流信号。这两个蜂鸣器的外观非常相似，但是一个带有绿色电路板的蜂鸣器是无源蜂鸣器，而另一个带有黑色胶带的是有源蜂鸣器。无源蜂鸣器不能区分正极性而有源极性蜂鸣器是可以。如下所示：

![](media/da420ccf4f666bfe09855faf3f8d8a7e.png)

![](media/9ab8162cf6d998b145c6fdb31ee9733f.png)

晶体管:
由于蜂鸣器需要很大的电流，ESP32输出能力的GPIO不能满足要求，这里需要一个NPN型晶体管来放大电流。晶体管，全称:半导体晶体管，是一种控制电流的半导体器件。晶体管可以用来放大微弱信号，也可以用作开关。它有三个电极(pin)：基极(b)，集电极(c)和发射极(e)。当电流通过“be”之间时，“ce”将允许几倍的电流通过(晶体管放大)，此时，晶体管在放大区工作。当“be”之间的电流超过某个值时，“ce”将不再允许电流增加，此时晶体管工作在饱和区。晶体管有两种类型如下所示：PNP和NPN

![](media/631232f1c8b8cd8e1f2369acad5bbd12.png)

PNP晶体管 NPN晶体管

在我们的套件中，PNP晶体管标记为8550,NPN晶体管标记为8050。

基于晶体管的特性，它常被用作数字电路中的开关。由于单片机输出电流的能力很弱，我们将使用晶体管来放大电流和驱动大电流的元件。在使用NPN晶体管驱动蜂鸣器时，通常采用以下方法：如果GPIO输出高电平，电流将流过R1，晶体管将传导，蜂鸣器将发出声音。如果GPIO输出低电平，没有电流流过R1，晶体管就不会传导，蜂鸣器也不会响。在使用PNP晶体管驱动蜂鸣器时，通常采用以下方法：如果GPIO输出低电平，电流将流过R1，晶体管将传导，蜂鸣器将发出声音。如果GPIO输出高电平，没有电流流过R1，晶体管就不会传导，蜂鸣器也不会响。

![](media/a7df0918f741543d7867cb6ba5b19248.png)

项目电路图和接线图：

![](media/8b84654a0f04d7e4c5f9c2f2923e577b.png)

![](media/6e607b53416c90c3573d3f890f8a5ed0.png)

注意：1.该电路中蜂鸣器的电源为5V。在3.3V的电源下，蜂鸣器可以工作，但会降低响度。

2.VUSB应连接到USB线的正极，如果它连接到GND，它可能烧坏电脑或树莓派Pico板。同样，树莓派Pico板的36-40引脚接线时也要小心，避免短路。

3.有源蜂鸣器正极(“+”/长引脚)接引脚16，负极（短引脚）接GND。

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/4d106a7ae68635d0b2a20d4d5fcfe99f.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
12：有源蜂鸣器”。并鼠标左键双击“Project_12_Active_Buzzer.py”。

![](media/4409112947c95a75c7505fe4e80c22c5.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/e1ee8aa5308600d7cf1c516e830e4aa0.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：有源蜂鸣器发出“滴滴”声。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/1274934e66c9ed43574f1bac2906505c.png)

### 项目 13：无源蜂鸣器

项目介绍：

在之前的项目中，我们研究了有源蜂鸣器，它只能发出一种声音，可能会让你觉得很单调。这个项目将学习另一种蜂鸣器，无源蜂鸣器。与有源蜂鸣器不同，无源蜂鸣器可以发出不同频率的声音。在这个项目中，你将使用树莓派Pico板控制无源蜂鸣器发出警报声。

项目元件：

|![](media/e796f897747c8b2786364a0a1b18fe07.jpeg)|![](media/03091fc80bb79b974846932ee4dfeb49.png)|![](media/e380dd26e4825be9a768973802a55fe6.png)|
|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|面包板*1|
|![](media/9197d4aff9356c585b7ef68e33a6881d.png)|![](media/098a2730d0b0a2a4b2079e0fc87fd38b.png)|![](media/aa06e883415a425c727a539a8267ac7a.png)|
|NPN型晶体管(S8050)*1|1kΩ电阻*1|跳线若干|
|![](media/d1ea1bb2b2749820cab389d5b85b838b.png)|![](media/7dcbd02995be3c142b2f97df7f7c03ce.png)|![](media/3ac518b4caa5086041545c60c7a6a2d1.png)|
|无源蜂鸣器*1|USB 线*1|公对母杜邦线若干|

元件知识：

![](media/1599686e26b4ccea33669334f93b956a.png)

无源蜂鸣器是一种内部没有振动源的集成电子蜂鸣器。它必须由2K-5K方波驱动，而不是直流信号。这两个蜂鸣器的外观非常相似，但是一个带有绿色电路板的蜂鸣器是无源蜂鸣器，而另一个带有黑色胶带的是有源蜂鸣器。无源蜂鸣器不能区分正极性而有源极性蜂鸣器是可以。

![](media/fc42c5ed014609ff0b290ee5361bb2fd.png)

晶体管: 请参考项目12.

项目电路图和接线图:

![](media/88e1667cdd09ffa9394f7aae9ce60242.png)

![](media/0257f2526dcedd215a11ccbce45ded51.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/83d28f5b5cc099b253a04b5a1811cd8f.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
13：无源蜂鸣器”。并鼠标左键双击“Project_13_Passive_Buzzer.py”。

![](media/8f9834f82db0b604187fcd3b89f4b465.png)

项目现象：

确保树莓派Pico板已经连接到电脑上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/929e3ddc92bc6cfa280093fac2975eb7.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：无源蜂鸣器发出警报声。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/32c1dc715b37188285c93fa261df4548.png)

### 项目 14: 小台灯

项目介绍：

你知道树莓派Pico可以在你按下按键的时候点亮LED吗?
在这个项目中，我们将使用树莓派Pico板，一个按键开关和一个LED来制作一个迷你台灯。

项目代码：

|![](media/a144a6ba052282c9496ecbbfac2237d2.jpg)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|![](media/cb888dcfe9d95402f816d2f9d1553b82.png)|![](media/ef77f5a64c382157fc2dea21ec373fef.png)|![](media/2240ac58b6b35420fdc172e43c597fe8.png)|
|-|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|按键*1|红色 LED*1|10KΩ电阻*1|
|![](media/f07338d72477c14b6c1ceccb43c575de.png)|![](media/f6b5bab63b7f305f238771e844d808f6.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|![](media/c9153a0c8cb4ae0a1ab08f23df7bfa2c.png)|![](media/24e2b42fd9706305d00da9337334c6ab.png)|
|面包板*1|220Ω电阻*1|USB 线*1|公对母杜邦线若干|按键帽*1|

元件知识：

![](media/20cd3dedd36a18709f7351e71aa06891.png)

按键：按键可以控制电路的通断，把按键接入电路中，不按下按键的时候电路是断开的，

一按下按键电路就通啦，但是松开之后就又断了。可是为什么按下才通电呢？这得从按键的内部构造说起。没按下之前，电流从按键的一端过不去另一端；按下的时候，按键内部的金属片把两边连接起来让电流通过。

按键内部结构如图：![](media/d2a204e61c768f18924150db58aee093.png)，未按下按键之前，1、2就是导通的，3、4也是导通的，但是1、3或1、4或2、3或2、4是断开（不通）的；只有按下按键时，1、3或1、4或2、3或2、4才是导通的。

在设计电路时，按键开关是最常用的一种元件。

按键的原理图:     
![](media/5bf7d624c266be0eb08ad0af3d9423d0.png)
![](media/f3b2e8858dc7fe21f2b14fa7c8e2318f.png)  
什么是按键抖动？

我们想象的开关电路是“按下按键-立刻导通”“再次按下-立刻断开”，而实际上并非如此。

按键通常采用机械弹性开关，而机械弹性开关在机械触点断开闭合的瞬间（通常
10ms左右），会由于弹性作用产生一系列的抖动，造成按键开关在闭合时不会立刻稳定的接通电路，在断开时也不会瞬时彻底断开。

![](media/8d385b596632de6c07b64217ab9a3c76.jpg)

那又如何消除按键抖动呢？

常用除抖动方法有两种：软件方法和硬件方法。这里重点讲讲方便简单的软件方法。

我们已经知道弹性惯性产生的抖动时间为10ms
左右，用延时命令推迟命令执行的时间就可以达到除抖动的效果。

所以我们在代码中加入了0.02秒的延时以实现按键防抖的功能。

![](media/3be5d7f1de78e818d6a31c411e05ff30.jpg)

项目电路图和接线图：

![](media/19f9dcfaacc32a6bc8ae16e362aa3122.png)

![](media/1c75a05a53faacfca9592631619909b0.png)

注意:

怎样连接LED

![](media/ce890a8f5f0aed0d9c33c34f57563d80.png)

怎样识别五色环220Ω电阻和五色环10KΩ电阻

![](media/c143fb8d355d4cb13056f3b2f15bd23c.png)

![](media/90cd61a4e564a3d40a6dbc8a84c85caf.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
14：小台灯”。并鼠标左键双击“Project_14_Mini_Table_Lamp.py”。

![](media/28b715c7828746b5c8f33dd6c590ae07.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/729ce89ed25c9ea017b0b4754eb77e55.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：按下按钮，LED亮起；当按钮松开时，LED仍亮着。再次按下按钮，LED熄灭；当按钮释放时，LED保持关闭。是不是很像个小台灯？按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/38a79ba745707ac6d738c93ff01b7b41.png)

### 项目 15：模拟沙漏

项目介绍：

古代人没有电子时钟，就发明了沙漏来测时间，沙漏两边的容量比较大，在一边装了细沙，中间有个很小的通道，将沙漏直立，有细沙的一边在上方，由于重力的作用，细沙就会往下流通过通道到沙漏的另一边，当细沙都流到下边了，就倒过来，把一天反复的次数记录下来，第二天就可以通过沙漏反复流动的次数而知道这一天大概的时间了。这一课我们将利用树莓派Pico板控制倾斜开关和LED灯来模拟沙漏，制作一个电子沙漏。

项目元件：

|![](media/c734b603b25d941a4cd40331d09cdadd.jpg)|![](media/a148c40620767714cde78f41a4822528.png)|![](media/cc0cc1152ecce1bf3966843884df0feb.png)|![](media/ef77f5a64c382157fc2dea21ec373fef.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|倾斜开关*1|红色 LED*4|
|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/6ded325b684d7ce7ad4dc8667e55faf4.png)|![](media/b08ceab591a290805836f21bc11ab107.png)||
|面包板*1|220Ω电阻*4|USB 线*1||
|![](media/c53059c29050b6fd9b35b88a0321b73f.png)|![](media/4569c99dc435bb87a0105c0c59865b14.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)||
|10KΩ电阻*1|跳线若干|公对母杜邦线若干||

元件知识：

![](media/5d86192d9250610d059178115cc9908d.png)

倾斜开关也叫数字开关。里面有一个可以滚动的金属球。采用金属球滚动与底部导电板接触的原理来控制电路的通断。当倾斜开关是滚珠型倾斜感应单方向性触发开关，当倾斜传感器向触发端（两根金属脚端）倾斜时，倾斜开关处于闭路状态，模拟端口的电压约为5V(二进制数为1023)。这样，LED会亮起。当倾斜开关在水平位置或向另一端倾斜时，倾斜开关处于开路状态，模拟端口的电压约为0V(0二进制)。LED将会关闭。在程序中，我们根据模拟端口的电压值，是否大于2.5V(512二进制)来判断开关是开还是关。

这里用倾斜开关的内部结构来说明它是如何工作的，显示如下图：

![](media/40bc569b295c4656bd973da4ad8734e2.png)

项目电路图和接线图：

![](media/033b2d8368f73658fff3b00d8508e4f3.png)

![](media/157dda6c8dad94ceddcb2cea06f69f03.png)

注意: 怎样连接LED

![](media/ff066489bcc4dc729b53fb9afbed2a4c.png)

怎样识别五色环220Ω电阻和五色环10KΩ电阻

![](media/fc3b2aeef621c6bbb9cefc60165616a0.png)

![](media/f1a13d4e83de3724ea51e82a347e5966.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/ad33f4c49b4f3576cbc9729643c31786.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
15：模拟沙漏”。并鼠标左键双击“Project_15_Tilt_And_LED.py”。

![](media/93b985e29b6f4c36bfcbbb5a9aa69b39.png)

项目结果：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/6839bbc5fd346231d9781533679cf288.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：将面包板倾斜到一定角度，led就会一个一个地亮起来。当回到上一个角度时，led会一个一个关闭。就像沙漏一样，随着时间的推移，沙子漏了出来。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/64ee3a0d15ce397b349634ff374d2a8e.png)

### 项目 16： I2C 128×32 LCD

项目介绍：

在生活中，我们可以利用显示器等模块来做各种实验。你也可以DIY各种各样的小物件。例如，用一个温度传感器和显示器做一个温度测试仪，或者用一个超声波模块和显示器做一个距离测试仪。下面，我们将使用LCD_128X32_DOT模块作为显示器，将其连接到树莓派Pico板上。将使用树莓派Pico板控制LCD_128X32_DOT显示屏显示各种英文文字、常用符号和数字。

项目元件： 

|![](media/9e2519c3369fb0dce36a3f781a74d854.jpg)|![](media/7b6eee3c5a625e147ac57dc985541456.png)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|
|-|-|-|
|树莓派Pico板*1|LCD_128X32_DOT*1|树莓派Pico板的扩展板*1|
|![](media/bb2e8f8e67a0a368fc2e88bc70aa676e.png)|![](media/d10037500a471b569ef04e12563197b7.png)||
|4P 转杜邦线母单*1|USB 线*1||

元件知识：

![](media/655fcd0c190a8d9a2ecebaee5409a684.png)

LCD_128X32_DOT：一个像素为128\*32的液晶屏模块，它的驱动芯片为ST7567A。模块使用IIC通信方式，同时，代码中包含所有英文字母和常用符号的库，可以直接调用。使用时，我们还可以在代码中设置，让英文字母和符号显示不同文字大小。为了方便设置图案显示，我们还提供一个取模软件，可将特定的图案转化成控制代码，然后直接复制到测试代码中使用的。

LCD_128X32_DOT原理图：

![](media/3e711eec526dd1118efdf03e72a4ebd4.png)

LCD_128X32_DOT技术参数：

显示像素：128\*32 字符

芯片工作电压：4.5 ~ 5.5V

工作电流：100mA (5.0V)

模块最佳工作电压：5.0V

项目接线图：

![](media/b3820b1176c13ba40651f654686a783f.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 16： I2C 128×32 LCD”。分别选择“lcd128_32.py”和
“lcd128_32_fonts.py”，右键单击鼠标选择
“上载到/”，等待“lcd128_32.py”和“lcd128_32_fonts.py”被上传到MicroPython设备（Raspberry Pi Pico），并鼠标左键双击“Project_16_I2C_128_32_LCD.py”。

![](media/988f90cffd33cef4961f9981db465887.png)

![](media/1ccf6e27b86cbfa52f01a2b6cad78aa6.png)

![](media/0e3106f8d20b387a732adc0562e5f16f.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/908d5b5664532481c1dcc3a7e13092c6.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：128X32LCD模块显示屏第一行显示“keyes”、第二行显示“ABCDEFGHIJKLMNOPQR”、第三行显示“123456789+-\*/\<\>=$@”、第四行显示“%^&(){}:;'|?,.~\\\[\]”。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/ca37593b15205b6d01a1bdd3353ef6df.png)

### 项目 17：小风扇

项目介绍：

在炎热的夏季，需要电扇来给我们降温，那么在这个项目中，我们将使用树莓派Pico板控制直流电机模块和小扇叶来制作一个小电扇。

项目元件：

|![](media/572d1cc8d97416a7e6d6988426d233a8.jpg)|![](media/a148c40620767714cde78f41a4822528.png)|![](media/81a0bb00979d34381e5b70be7da3cd32.png)|![](media/9ab8162cf6d998b145c6fdb31ee9733f.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|跳线若干|S8050三极管*1|
|![](media/d02ed1417ee96d7a269a4bbd2f1a50e0.png)|![](media/f294b98cdf203f94dccd13e8dfb4254a.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|![](media/9ab8162cf6d998b145c6fdb31ee9733f.png)|
|二极管*1|面包板*1|USB 线*1|S8550三极管*1|
|![](media/172a77f56de41c440855ba2e8b135b7f.jpg)|![](media/655e6c465cb423279e0908513a983711.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)||
|直流电机*1|风扇片*1|公对母杜邦线若干||

项目电路图和接线图1：

（这个实验是使用S8050（NPN型三极管）控制电机）

![](media/46c58d08b620affe397434e091ebec92.png)

![](media/fc2855b59124fbfa71a6d4ba96869034.png)

项目代码1：

本项目中使用的代码保存在文件夹“3. Python 教程\1. Windows 系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将“2.
项目课程”文件夹保存在Disk(D)中，路径为D:\2. 项目课程。

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
17：小风扇”。并鼠标左键双击“Project_17.1\_ Small_Fan.py”。

![](media/67ba9ffe72d7f141edcac82df44220ef.png)

项目现象1：

确保树莓派Pico板已经连接到树莓派上，单击![](media/fc254029568ae58d0a8cf41853cc2325.png)“停止/重启后端进程”。

![](media/12bc7bbe205c46d2b07cdd4ec09158ef.png)

单击![](media/93f0e5b5766c5d91ca75b788b616a2aa.png)“运行当前脚本”，代码开始执行，你会看到的现象是：将小风扇片安装到直流电机上，上电后，可以看到电机转动4秒，停止2秒，以此规律重复执行。按“Ctrl+C”或单击![](media/fc254029568ae58d0a8cf41853cc2325.png)“停止/重启后端进程”退出程序。

![](media/d75825862d6fa12eed56fdf360745cda.png)

项目电路图和接线图2：

（这个实验是使用S8550（PNP型三极管）控制电机）

![](media/d33d94a0e05ebd3fb986d07f540588c7.png)

![](media/a13d2691755474c34753ac38e8d00479.png)

项目代码2：

本项目中使用的代码保存在文件夹“3. Python 教程\1. Windows 系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将“2.
项目课程”文件夹保存在Disk(D)中，路径为D:\2. 项目课程。

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
17：小风扇”。并鼠标左键双击“Project_17.2\_ Small_Fan.py”。

![](media/81c2b663f95361a1bdcb22567b14a155.png)

项目现象2：

确保树莓派Pico板已经连接到树莓派上，单击![](media/fc254029568ae58d0a8cf41853cc2325.png)“停止/重启后端进程”。

![](media/e0476b4cbdbda885ef3b3f15c00b8407.png)

单击![](media/93f0e5b5766c5d91ca75b788b616a2aa.png)“运行当前脚本”，代码开始执行，你会看到的现象是：将小风扇片安装到直流电机上，上电后，可以看到电机转动4秒，停止2秒，以此规律重复执行。按“Ctrl+C”或单击![](media/fc254029568ae58d0a8cf41853cc2325.png)“停止/重启后端进程”退出程序。

![](media/4f38bf9bb8236382d8727ed446c1f827.png)

### 项目 21：调光灯

项目介绍：

电位器是一个带有滑动或旋转触点的三端电阻器，它形成一个可调的分压器。它的工作原理是在均匀电阻上改变滑动触点的位置。在电位器中，整个输入电压被施加到电阻的整个长度上，输出电压是固定触点和滑动触点之间的电压值。在这个项目中，我们将学习使用树莓派Pico板读取电位器的值，并结合LED制作一个调光灯。

项目元件：

|![](media/9e2519c3369fb0dce36a3f781a74d854.jpg)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|![](media/122b9239c3eb6fb99e2e10037d649e01.png)|![](media/ef77f5a64c382157fc2dea21ec373fef.png)|
|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|可调电位器*1|红色 LED*1|
|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/6ded325b684d7ce7ad4dc8667e55faf4.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|
|面包板*1|220Ω电阻*1|公对母杜邦线若干|USB 线*1|

元件知识：

![](media/122b9239c3eb6fb99e2e10037d649e01.png)

可调电位器：可调电位器是电阻和模拟电子元件的一种，具有0和1两种状态(高电平和低电平)。模拟值不同，其数据状态呈现为1
~ 1024等线性状态。

读取电位器的ADC值和电压值：

我们将电位器连接到树莓派Pico板的模拟IO口上来读取电位器的ADC值和电压值。接线请参照以下接线图：

![](media/fb36b9b05a5082fe9255b42eb90cf330.png)

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/416c785b0b18d4ccb1c64878f5316160.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
18：调光灯”。并鼠标左键双击“Project_18.1_Read_Potentiometer_Analog_Value.py”。

![](media/0a3e5c4fe055e4023610ef5126762591.png)

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/7a65d221aded36684c8a3791962f32f6.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：Thonny IDE下的“Shell”窗口将打印出电位器的ADC值和电压值，转动电位器手柄时，ADC值和电压值发生变化。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/c3792637b345d1fa16df95fcef00c31f.png)

![](media/7558e996eac919f2eb41daf5e77eeb82.png)

调光灯的电路图和接线图：

在前面一步，我们读取了电位器的ADC值和电压值，现在我们需要将电位器的ADC值转换成LED的亮度，来做成一个亮度可调的灯。见如下所示接线图：

![](media/efd7dd23c296c8f8ca18771bb2f1a89c.png)

![](media/b08506476d0321b6040e38ce2992f775.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
18：调光灯”。并鼠标左键双击“Project_18.2_Dimming_Light.py”。

![](media/826c8f091b313a915b6ad5c49cb2a8e9.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/5a38471dd593415afa7c9704d2f9ce43.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：转动电位器手柄，LED的亮度会相应地改变。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/678731abdea92fa80be8351228e9c5d2.png)

![](media/2211121ed8269149f09a3eda2ea90b88.jpg)

### 项目 19：火焰警报器

项目介绍：

火灾是一种可怕的灾害，火灾报警系统在房屋，商业建筑和工厂中是非常有用的。在本项目中，我们将使用树莓派Pico板控制火焰传感器，蜂鸣器和LED来模拟火灾报警装置。这是一个有意义的创客活动。

项目元件：

|![](media/ee7e8566bc7c7b0d39df0d5cee4cf468.jpg)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|![](media/8a09c36c5168c60d800736a9a7f1c200.png)|![](media/ef77f5a64c382157fc2dea21ec373fef.png)|![](media/4b4f653a76a82a3b413855493cc58fba.png)|
|-|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|火焰传感器*1|红色 LED*1|有源蜂鸣器*1|
|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/6ded325b684d7ce7ad4dc8667e55faf4.png)|![](media/698d84e9dc3b34fd6be7c7d21a51c80d.png)|![](media/0bf747dcc565c53ac29e4709f7d486d8.png)|![](media/b08ceab591a290805836f21bc11ab107.png)|
|面包板*1|220Ω电阻*1|10KΩ电阻*1|跳线若干|USB 线*1|
|![](media/9ab8162cf6d998b145c6fdb31ee9733f.png)|![](media/ffbfbf739e60ed2c41ae74001f2edcb2.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|||
|NPN型晶体管(S8050)*1|1kΩ电阻*1|公对母杜邦线若干|||

元件知识：

![](media/182548dc26a4665628cfec50682ae31c.png)

火焰会发出一定程度的IR光，这种光人眼是看不到的，但我们的火焰传感器可以检测到它，并提醒微控制器（如树莓派Pico板）已经检测到火灾。它有一个专门设计的红外接收管来探测火焰，然后将火焰亮度转换为波动水平信号。接收三极管的短引脚是负极，另一个长引脚是正极。我们应该连接短引脚（负极)到5V，连接长引脚(正极)到模拟引脚，一个电阻和GND。如下图所示：

![](media/c0a5ada5a6b624a0f0445f2c46c86839.jpg)

注意：火焰传感器应避开日光、汽车头灯、白炽灯直接照射，也不能对着热源(如暖气片、加热器)或空调，以避免环境温度较大的变化而造成误报。同时还易受射频辐射的干扰。

读取火焰传感器模拟值：

我们首先用一个简单的代码来读取火焰传感器的模拟值，并将其打印出来。接线请参照以下接线图：

![](media/2b4e0cf420a0a94d6dfdd184f06fae33.png)

![](media/01e87dc7a2a23c003484d6f6ab2c8773.png)

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
19：火焰警报器”。并鼠标左键双击“Project_19.1_Read_Analog_Value.py”。

![](media/e8bfe0e58596d4e99f66331066eacfb2.png)

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/f3cd380717fd1ce8ec44611b7804d63a.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：Thonny IDE下的”Shell”窗口将打印火焰传感器读取的模拟值，当火焰靠近火焰传感器时，模拟值增大；反之，模拟值减小。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/e87c6766fabd1a4026a7093f817fd800.png)

![](media/307d4f3e802eb56738be1f45286bf7d8.png)

火焰报警的电路图和接线图：

接下来，我们将使用火焰传感器和蜂鸣器、LED制作一个有趣的项目——火灾报警装置。当火焰传感器检测到火焰时，LED闪烁，蜂鸣器报警。

![](media/2f4b0e24a35b7e5b90e7577bd4fa13b5.png)

![](media/897914ede2a0a221bff1da80d7ead221.png)

项目代码：（注意：![](media/ae89b4a3402bbbe24daf933b675bb69e.png)代码中的阀值500可以根据实际情况自己重新设置）

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
19：火焰警报器”。并鼠标左键双击“Project_19.2_Flame_Alarm.py”。

![](media/8fb6b6f7fa920b1252d19982058c3c35.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/b4cb00f395f2a154c26d061b6bfacde0.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：当火焰传感器检测到火焰时，LED闪烁，蜂鸣器报警；否则，LED不亮，蜂鸣器不响。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/0cbd92d461f1ac622a168915236f6fb7.png)

### 项目 20：小夜灯

项目介绍：

传感器或元件在我们的日常生活中是无处不在的。例如，一些公共路灯在晚上会自动亮起，而在白天会自动熄灭。为什么呢?
事实上，这些都是利用了一种光敏元件，可以感应外部环境光强度的元件。晚上，当室外亮度降低时，路灯会自动打开；到了白天，路灯会自动关闭。这其中的原理是很简单的，在本实验中我们使用树莓派Pico板控制LED就来实现这个路灯的效果。

项目元件：

|![](media/ee7e8566bc7c7b0d39df0d5cee4cf468.jpg)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|![](media/3ab022b34dfb14b2cce66bfac3bd15b4.png)|![](media/ef77f5a64c382157fc2dea21ec373fef.png)|![](media/698d84e9dc3b34fd6be7c7d21a51c80d.png)|
|-|-|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|光敏电阻*1|红色 LED*1|10KΩ电阻*1|
|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|![](media/0bf747dcc565c53ac29e4709f7d486d8.png)|![](media/87d80ddcedd37fc51c4300e3feda80db.png)|![](media/6ded325b684d7ce7ad4dc8667e55faf4.png)|
|面包板*1|公对母杜邦线若干|跳线若干|USB 线*1|220Ω电阻*1|

元件知识：

![](media/b69142448f92d1941c6fd33b0132ce7b.png)

光敏电阻：是一种感光电阻，其原理是光敏电阻表面上接收亮度(光)降低电阻，光敏电阻的电阻值会随着被探测到的环境光的强弱而变化。有了这个特性，我们可以使用光敏电阻来检测光强。光敏电阻及其电子符号如下：

![](media/7d575da675a2f6cb511d28b801e2abaa.png)

下面的电路是用来检测光敏电阻电阻值的变化：

![](media/1d140aebc060d53793caeb87d62df091.png)

在上述电路中，当光敏电阻的电阻因光强的变化而改变时，光敏电阻与电阻R2之间的电压也会发生变化。因此，通过测量这个电压就可以得到光的强度。

读取光敏电阻的模拟值：

我们首先用一个简单的代码来读取光敏电阻模拟值，并将其打印出来。接线请参照以下接线图：

![](media/68337a2b734098f3bf0ad3fe5409dd2c.png)

![](media/a12cd4a08876876ff91108f77830049c.png)

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/6ae7b7f500ad134e6498f95c52abe682.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
20：小夜灯”。并鼠标左键双击“Project_20.1_Read_Photosensitive_Analog_Value.py”。

![](media/15a7bb17516ddfee8c4a5403bed11201.png)

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/bc971be5e5e1e38a2f9bf1fdb35ab580.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：Thonny IDE下的”Shell”窗口将打印光敏电阻读取的模拟值，当逐渐减弱光敏电阻所处环境中的光线强度时，模拟值逐渐增大；反之，模拟值逐渐减小。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/2913bb3c9befce7f079bb505a1047a70.png)

![](media/c49bb8091d1088de05733b037b5229b9.png)

光控灯的电路图和接线图：

我们在前面做了一个小小的调光灯，现在我们来做一个光控灯。它们的原理是相同的，即通过Raspberry Pi Pico获取传感器的模拟值，然后调节LED的亮度。

![](media/aa30cb49386538a6ff5e5cd12a8383cd.png)

![](media/d34c5f9f70d90d560be98038169c270d.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/40cb441895a77edd91ba8e5ae934c82b.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
20：小夜灯”。并鼠标左键双击“Project_20.2_Night_Lamp.py”。

![](media/76b5f7281d2e37c74d3c54a7bd1da011.png)

项目结果：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/9b35a428728f4b6b6f80bd95d29a9cdb.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：当减弱光敏电阻所处环境中的光线强度时，LED变亮，反之，LED变暗。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/8edbe855a701a66000db8dde9e6e7518.png)

### 项目 21：温度仪表

项目介绍：

热敏电阻是一种电阻，其阻值取决于温度和温度的变化，广泛应用于园艺、家庭警报系统等装置中。因此，我们可以利用这一特性来制作温度计。

项目元件：

|![](media/08f762db18e5fd42f163740d4c2ce4fd.jpg)|![](media/2762753d227ba94de9f6e5c9ff79fe53.png)|![](media/dd891933d3bc5d4ba7be86a428e82108.png)|
|-|-|-|
|树莓派Pico板*1|树莓派Pico板的扩展板*1|公对母杜邦线若干|
|![](media/06b78e3697de1bb564b007ebdcf0581b.png)|![](media/01e1718266f97a76fa59685d5d339430.png)|![](media/f83602237e22f7841b3f4388955c57d3.png)|
|LCD_128X32_DOT*1|面包板*1|热敏电阻*1|
|![](media/bb2e8f8e67a0a368fc2e88bc70aa676e.png)|![](media/87d80ddcedd37fc51c4300e3feda80db.png)|![](media/698d84e9dc3b34fd6be7c7d21a51c80d.png)|
|4P 转杜邦线母单*1|USB 线*1|10KΩ电阻*1|

元件知识：

热敏电阻：热敏电阻是一种温度敏感电阻。当热敏电阻感应到温度的变化时，它的电阻就会发生变化。我们可以利用热敏电阻的这种特性来检测温度强度。热敏电阻及其电子符号如下所示。

![](media/809b8634747fb295021f12e3b92b7894.png)

热敏电阻的电阻值与温度的关系为：

![](media/04312ac83502354f253ae6cba9f005dd.wmf)

式中：

Rt为热敏电阻在T2温度下的电阻；

R为热敏电阻在T1温度下的标称阻值；

EXP\[n\]是e的n次幂；

B为温度指数；

T1，T2是开尔文温度(绝对温度)，开尔文温度=273.15
+摄氏温度。对于热敏电阻的参数，我们使用：B=3950, R=10KΩ，T1=25℃。热敏电阻的电路连接方法与光敏电阻类似，如下所示：

![](media/ac0d68aac58bffa5c99e1d0ed3a8bc37.jpeg)

我们可以利用ADC转换器测得的值来得到热敏电阻的电阻值，然后利用公式来得到温度值。因此，温度公式可以推导为：

![](media/7d6cc89970b6158b40707eb7b5d3b0d5.wmf)

读取热敏电阻的值：

首先我们学习热敏电阻读取当前的ADC值、电压值和温度值，并将其打印出来。请按下面的接线图接好线：

![](media/d1cc8f28e153531547d11ea977c37eca.png)

![](media/934f77b466c3f5391233dbbe62afecd6.png)

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/1fa747d7f55fdd1bd3c54a69a1a31b0c.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
21：温度仪表”。并鼠标左键双击“Project_21.1_Read_the_thermistor_analog_value.py”。

![](media/8c394b83b32157c6ff4f56d2c5bd3a2a.png)

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/45578420b854fe56c8592b4a373db3e1.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：Thonny IDE下的”Shell”窗口将不断显示热敏电阻当前的ADC值、电压值和温度值。试着用食指和拇指捏一下热敏电阻(不要碰触导线)一小段时间，你应该会看到温度值增加。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/6e4437280a0a5c6a24d218b206674b36.png)

![](media/0a035900fbc73a112eced64a926872ad.png)

温度仪表电路图和接线图：

![](media/458af2aaa2a441e37e460179529084f7.png)

![](media/6972a3f15894404f7b6c13aa3ab45517.png)

项目代码：

本项目中使用的代码保存在文件夹“3. Python 教程\2.
树莓派系统\2.
项目课程”中。你可以把代码移到任何地方。例如，我们将代码文件夹保存在树莓派系统的文件夹pi中，路径为home/pi/2.
项目课程。

![](media/eba1ab11462acf271243aae1acd8bfb9.png)

打开“Thonny”软件，点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目
21：温度仪表”。分别选择“lcd128_32.py”和
“lcd128_32_fonts.py”，右键单击鼠标选择 “上载到/”，等待“lcd128_32.py”和
“lcd128_32_fonts.py”被上传到MicroPython 设备（Raspberry Pi Pico）。并鼠标左键双击“Project_21.2_Temperature_Instrument.py”。

![](media/4363393a0c3fffb101143100a7a44ab3.png)

![](media/bd118c710091c7261be5912661b6e0d5.png)

![](media/9c31d0414023b96723eb55d4a007c2c1.png)

项目现象：

确保树莓派Pico板已经连接到树莓派上，单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”。

![](media/66bc49f7bc53ee14aa5c123ea4b4d642.png)

单击![](media/bb4d9305714a178069d277b20e0934b7.png)“运行当前脚本”，代码开始执行，你会看到的现象是：LCD 128X32 DOT的屏幕上显示热敏电阻的电压值和当前环境中的温度值。按“Ctrl+C”或单击![](media/32e03e9d4211e9ef97c1d2b18f05c902.png)“停止/重启后端进程”退出程序。

![](media/7711a8fb2a0eacebdc5230c0fece3447.png)
